package Adaptadores;

import java.util.ArrayList;

import com.example.tdam_2012_g3.R;

import Persistencia.CreadorBD;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import entidades.Log;

public class AdaptadorListaTelefonos extends BaseAdapter{

	private ArrayList<String> telefonos;
	private Context context;
	private String nombre_contacto;
	private LayoutInflater inflater;

	public AdaptadorListaTelefonos(Context context) {
		super();
		this.context = context;
		inflater = LayoutInflater.from(context);
	}

	public View getView(int position, View convertView, ViewGroup parent) {
		Holder holder = new Holder();
		
		if (convertView == null) {
			convertView = inflater.inflate(com.example.tdam_2012_g3.R.layout.lista_telefonos_items,	null);
			holder.telefono = (TextView) convertView.findViewById(com.example.tdam_2012_g3.R.id.txtNumeroTelefono);
			holder.imagenEnviar = (ImageView) convertView.findViewById(R.id.imgEnviarSms);
			convertView.setTag(holder);
		}
		else{
			holder = (Holder) convertView.getTag();
		}



		
			holder.telefono.setText("" + telefonos.get(position).toString());
			holder.telefono.setTag(position);
			holder.telefono.setOnClickListener(capturarLlamada);
			holder.imagenEnviar.setTag(position);
			holder.imagenEnviar.setOnClickListener(capturarEnvioSmsm);
	
		
		
		return convertView;
	}
/**
 * Onclik que se le asigna al "botn enviar mensaje";
 */
	OnClickListener capturarEnvioSmsm = new OnClickListener() {
		public void onClick(View view) {
			Intent intento = new Intent(Intent.ACTION_VIEW, Uri.parse("smsto:"+ telefonos.get((Integer)view.getTag())));
			CreadorBD base = new CreadorBD(context);
			Log l = new Log();
			l.setUsuario(nombre_contacto);
			l.setAccion(Log.SMS);
			base.insertarNuevaAccion(l);

			context.startActivity(intento);

		}

	};

	OnClickListener capturarLlamada = new OnClickListener() {
		public void onClick(View view) {
			Intent intento = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ getItem((Integer)view.getTag())));
			CreadorBD base = new CreadorBD(context);
			Log l = new Log();
			l.setUsuario(nombre_contacto);
			l.setAccion(Log.CALL);
			base.insertarNuevaAccion(l);

			context.startActivity(intento);

		}

	};

	public void setNombreContacto(String n) {
		nombre_contacto = n;
	}
	
	public int getCount() {
		return telefonos.size();

	}

	public Object getItem(int posicion) {
		return telefonos.get(posicion);
	}

	public long getItemId(int posicion) {
		return posicion;
	}
	
	class Holder {
		private TextView telefono;
		private ImageView imagenEnviar;

	}
	
	public void cargarTelefonos(ArrayList<String> lista){
		telefonos = lista;
		
	}

}
